■文章編1      ┏━━━━━━━━━━━━━━━━━━━━━━━━┓      ┃ ┃      ┃ CPU,そしてパソコンの速さ ┃      ┃ ┃      ┗━━━━━━━━━━━━━━━━━━━━━━━━┛ ■CPUとは何か 後半の文章編,まずはコンピュータの中枢についてのお話から始めることに しましょう。 あなたの机の上のFM TOWNSであれ,都市銀行の収支を管理するスー パーコンピュータであれ,現在コンピュータと称されるものは,いずれも基本 的には電気のONとOFFの組み合わせ,つまり2進数の「1か0か」を情報 の最小単位として計算や周辺機器の制御を行っています。 この,仕事をする際の中心に位置し(もちろん,物理的に真ん中にあるわけ ではありませんよ),与えられた命令に従って計算したり,周辺機器を制御し たりするところ,人間でいえば脳にあたる装置,これを「CPU(Central Processing Unit)」といいます。 現在パソコンに使われているCPUは,数ミリから数センチメートル程度の 小さなシリコン基板の上に,各種の電気的な回路をぎゅっぎゅっと高密度に組 み合わせたものになっています(なお,CPUに限ったことではありませんが, シリコンの基板上にトランジスタやダイオードや抵抗やコンデンサといった回 路素子を埋め込んだもののことを一般的に「IC(Integrated Circuit,集 積回路)」といい,その集積度の高いものを「LSI(Large Scale IC, 大規模集積回路)」,さらにさらに集積度の高いものを「VLSI(Very L arge Scale IC,超大規模集積回路)」といいます。現在のパソコンに採用 されているCPUは,だいたいLSIからVLSIにあたるようです)。 さて,CPUには,実はブランドというか,著名メーカーによる著名CPU とでもいうべきものがあり,どのメーカーのどのCPUを積んでいるかが,そ のコンピュータの指向性や水準を示す独自のバロメーターとなっています。そ のメーカーのうち,ここではとくにインテルとモトローラについて簡単にご紹 介しましょう。 インテルはアメリカの,否,世界最大のパソコンCPUメーカーで,TOW NSで採用されたi386やi486もこのインテルの製品です。このインテルは,19 71年,のちに倒産した日本企業(ビジコン)から依頼を受けて電卓用に4004と いう世界初の4ビットCPUを開発,翌1972年には8008という8ビットCPU を送り出し,当時のマイコンブームの基盤を作りました。インテルはその後80 80というCPUを発表しましたが,当時は8080をさらに強化したザイログ社の Z80(ゼットハチマルやゼッパチと呼ばれることが多い)やその互換CPUが ヒット,日本でもMZシリーズやPC-8801などの8ビットパソコンで採用さ れました。 ・・・・う〜ん,ちょっと歴史のほうに踏み込みすぎたかな? まあいいでしょ う,もう少し続けましょう。 さて,1981年,世界最大のコンピュータメーカーであるIBMがパソコンビ ジネスに参入することになり(現在では奇異に思われるかもしれませんが,大 型コンピュータの開発,販売を主業務とするこの巨大企業が,おもちゃのごと きパソコン界に参入し,先行するアップル等と競い合うことになるというのは なかなか大事件だったのです),その主力機IBM PCに16ビットCPUと して8088(8086の弟分)が採用されたことによって,インテルのCPUはその 際選ばれたDOS(Disk Operating System)であるMS-DOSとともに 大浮上します。そしてその後,80186,80286,i386,そして最近ではi486,さ らに,内部クロックを倍にすることによって,周辺のRAMなどを変えないま まにパソコンを高速化するODP(オーバードライブプロセッサ)シリーズ, RISC技術を取り入れたPentium(ペンティアム)と,インテルは世界のト ップCPUメーカーとして君臨し続けてきました。 さて,インテルといえば,その対抗CPUメーカーとしてのモトローラを忘 れるわけにはいきません。モトローラは自社のCPU商品をMPU(Micro Processing Unit)と呼び,8ビットの6800,6809(究極の8ビットと呼ば れ,FM-8/7/77/AV/11シリーズ等で活用されましたが,Z80陣営の数に は勝てませんでした),16ビットの68000(MacintoshやX68000で使われてい る),32ビットの68020,68030など,大型コンピュータの機能を縮小・再構築 する形で開発された,内部仕様の美しい製品を出荷し続けています。もっとも, ビジネス系,ツール系のソフトウェア資産の圧倒的な差異により,パソコンの 世界では少数派に属しますし,また,得意分野であったワークステーションの 世界でもRISCという新しい仕様のCPUが定着しつつあるため,CPUメ ーカーとしてはやや苦戦をしいられているようです(最近は,IBM社やアッ プルコンピュータ社との共同開発という形でPowerPCというRISC技術を 結集した優れたCPUを開発,Macintoshに搭載しており,今後の巻き返しが 注目されます)。 ■32ビットとは? 最初のほうで,コンピュータは電気のONとOFFの組み合わせ,2進数の 「1か0か」を情報の単位としている,と書きました。この「1か0か」とい う,2進数の最小単位を「1ビット」といいます。 たとえば,ある窓の明かりがついているかどうかを表す単位が1ビット,窓 2つの明かりがそれぞれついているかどうかが2ビット,という具合です。1 ビットなら「○か,●か」という2種類だけですが,2ビットだと「○○か, ○●か,●○か,●●か」という4種類の情報,3ビットだと窓3つだから8 種類,4ビットだと16種類・・・・そうです,nビットといった場合,2のn乗の情 報が伝達できるのですね。 でもって,キリのいい8ビット(2の8乗,つまり256段階に情報を伝達で きる)を1バイトといって,コンピュータのデータをこのバイト単位で管理す ることが少なくありません。・・・・どんどんややこしくなりますね。気にせず先 に進みましょう。 さて,それでは,CPUの名称によくくっついて語られる8ビット,16ビッ ト,32ビット(たとえば,TOWNSのi386DXやi486などは32ビットCPU と呼ばれます)というのは,いったい何を表しているのでしょうか。 CPUは,2進数の数値をメモリや周辺機器とやりとりして,計算を行った り,制御を行ったりします。このとき,CPUがデータのやりとりをする通路 にあたるところを「バス」といいます。そうですね,CPUとメモリや周辺機 器との間の,データを運ぶためのベルトコンベアとでも考えてみてください。 そのバス幅が8ビットのときは一度に8ビット分のデータをやりとりでき,16 ビットなら16ビット分のデータ,32ビットなら32ビット分のデータのやりとり ・・・・なんだ,32ビットなんてどうせ8ビットの4倍だろ,なんて考えるあなた はほんの少しアサハカ。さっきの考え方からすると,32ビットは2の32乗,8 ビットは2の8乗。2の8乗は10進数にしてたかだか 256にすぎませんが,2 の32乗といえば4294967296。う〜ん,8桁表示の電卓では扱うこともできない 大きな数値ですね,ともかくこのくらいの違いがあるのです。これはしかも, 一度にやりとりできるデータの桁なんですから,32ビットパソコンという言葉 の威力を多少はご想像いただけるでしょうか。 ところで,一体型のTOWNSIIモデルUXで使われているi386SXは,同 じi386でも「外部バス16ビット」といわれています。これは,CPUとして内 部では32ビット単位のデータ管理をしているのだけれど(ですからi386DXと プログラムレベルではほぼ互換性を保てていますが),外とデータのやりとり をしているバス幅が16ビットしかない,ということです。したがって,データ のやりとりをする際,DXよりも時間がかかってしまいます(逆に,バス幅が 狭いためにハード的にコンパクトにまとまるという利点もあります。一体型の UXやノートパソコンでSXが選ばれる理由の1つですね)。 ■CPUの速さ さて,それでは,CPUとパソコンと速さとは,どう関わってくるのか。こ こではCPUの仕事をシャベルを使った土砂運びにたとえてみましょう。 土砂をすくって右から左に運ぼうとするときに,一度に8ビットずつすくえ るシャベルと,16ビットずつすくえるシャベルと,それから一挙に32ビットす くえるシャベルがあるとどうでしょう。当然,数字の大きいほうが作業の効率 がよさそうですね。 しかし,ここで忘れてはならないのは,単にシャベルに一度にたくさんの土 砂がすくえたら,それだけで作業が速いといえるかといえば,そうでもないと いうことです。 一度にシャベルにどっさり土砂をすくえたからといって,それを右から左に 運ぶのにもの凄く時間がかかるくらいなら,少しずつしかすくえないけれど回 転が速いほうがよい,という計算も成り立ちます。違うメーカーの,違うCP Uならこういう違いがあって当然と思われますが,実は同じメーカーの同じ名 称のCPUにも,製品によって,いろいろシャベルの回転速度に違いがあるの です。これが,CPUのクロック,いわゆる何MHzのCPUにあたるか,と いうことなんですね。だから,同じ386や486というCPUを使っていても,16 MHzより20MHzのもののほうが処理が速い,といわれるのです。 なお,「32ビットCPUがそんなにいいのなら,もっとバス幅の大きな,そ う,たとえば64ビットCPUならもっと凄いのでは」という考え方もあるかと 思います。実は64ビットCPUというものも確かに実在しています。しかし, 64ビットのデータというのは逆に大きすぎて,ちょっとしたデータをやりとり する場合には無駄が大きいこと,またやりとりするデータをしまう箱(メモリ やディスクといったもの)の扱いも大変だということがあって,今のところあ まりパッとしません。 日本のウサギ小屋のような家を建てたり壊したりするのに,数十メートルあ るクレーンを使うようなもの,といった感じでしょうか。